package com.wanjia.estate.pojo.bank;

import com.wanjia.estate.pojo.bank.form.Form;
import lombok.Data;

import java.io.Serializable;

@Data
public class BillDetailInfo<T extends Form> implements Serializable {

    /**
     * 账单支付
     */
    public static final String ACTION_PREPAY = "prepay";
    /**
     * 账单查询
     */
    public static final String ACTION_PREQUERY = "prequery";
    /**
     * 无需操作
     */
    public static final String ACTION_NONE = "none";

    /**
     * 账单业务编码
     * 标识一个待查缴业务的业务代码，如：
     * S0_9800_0001：全国财税缴纳业务
     */
    private String code = "S0_9800_0001";
    /**
     * 账单编号
     * 标识一笔明细业务在本账单信息域中的编号，两位数字；账单编号必须连续, 从01开始，目前最大支持到05；若没有从01开始，或出现跳号，均视为无效的账单信息域；
     */
    private String index;
    /**
     * 账单业务名称
     * 用于标识该笔账单的业务名称
     */
    private String title;
    /**
     * 账单业务明细
     * 本字段为json结构的复合账单信息，具体说明见附录B
     */
    private T form;
    /**
     * 账单操作提示
     */
    private String action;
    /**
     * 账单查询流水号
     * 账单查询流水号，在账单查询应答中返回，账单支付请求中应在对应的账单明细中原样上送
     */
    private String billQueryId;
    /**
     * <P>账单处理状态</P>
     * <P>00-未支付，未销帐</P>
     * <P>01-支付中，未销帐</P>
     * <P>02-支付成功，销帐成功</P>
     * <P>03-支付成功，销帐中</P>
     * <P>04-支付失败，未销帐</P>
     * <P>05-支付成功，销帐推定成功</P>
     * <P>06-销帐失败，已冲正，资金已退还持卡人(不区分扣款超时冲正还是销帐异常的冲正)</P>
     * <P>07-退款,流水表原交易无更新</P>
     */
    private String billStatus;
}
